package eteam.aps.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import eteam.aps.model.entity.DataDictionary;
import eteam.aps.model.vo.DataDictionaryVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 
 * @author yiyikai
 *
 */
@Mapper
public interface DataDictionaryMapper extends BaseMapper<DataDictionary> {

	/**
	 * 修改---不修改 审核状态
	 * 
	 * @param dictionary 字典数据
	 * @return 受影响的行数
	 */
	int updateOne(DataDictionary dictionary);

	/**
	 * 根据fid逻辑删除字典，需要设置 修改时间 修改人
	 * 
	 * @param dictionary 字典数据
	 * @return 受影响的行数
	 */
	int deleteOne(DataDictionary dictionary);

	/**
	 * 根据fId物理删除字典
	 * @param fId fId
	 * @return 受影响的行数
	 */
	int deleteByFId(String fId);

	/**
	 * 根据 字典名称 统计 记录数量
	 * 
	 * @param fDdCode 输入的字典编号
	 * @return 字典数量
	 */
	int selectCountByFDdCode(String fDdCode);

	/**
	 * 根据 字典名称 统计 记录数量
	 * 
	 * @param fDdName 输入的字典名称
	 * @return 字典数量
	 */
	int selectCountByFDdName(String fDdName);

	/**
	 * 分页查询所有字典数据--记录条数
	 * 
	 * @param map 查询参数，分页参数
	 * @return 字典列表
	 */
	int selectCountAll(Map<String, Object> map);

	/**
	 * 分页查询所有字典数据--记录
	 * 
	 * @param map 查询参数，分页参数
	 * @return 字典列表
	 */
	List<DataDictionaryVo> selectAll(Map<String, Object> map);

	/**
	 * 根据数据字典的类别查询是否有下属的字典记录---不包括 作废
	 * 
	 * @param fDdcId
	 * @param fState 不包括 作废
	 * @return
	 */
	int selectCountByFDdcId(Map<String, Object> map);

	/**
	 * 根据fId查询字典详情
	 * @param fId fId
	 * @return 字典详情
	 */
	DataDictionaryVo selectByfId(String fId);

	/**
	 * 根据fId查询字典状态
	 * @param fId fid
	 * @return 字典状态
	 */
	int selectFStateByFId(String fId);
}
